%%{init: {'themeVariables': { 'fontSize': '12px'}}}%%
graph TD
    classDef path fill:#eee,stroke:#000,color:#000
    classDef plan fill:#fff,stroke-width:1px,color:#000
    classDef itemplan fill:#fff,stroke-width:2px,color:#000
    classDef unbatchedplan fill:#dff,stroke-width:1px,color:#000
    classDef sideeffectplan fill:#fcc,stroke-width:2px,color:#000
    classDef bucket fill:#f6f6f6,color:#000,stroke-width:2px,text-align:left

    subgraph "Buckets for queries/resolvers/objectDefaults"
    Bucket0("Bucket 0 (root)<br /><br />1: <br />ᐳ: Constantᐸ§{}ᐳ[21]<br />2: GraphQLResolver[7]"):::bucket
    Bucket1("Bucket 1 (nullableBoundary)<br />Deps: 7, 21, 2, 0, 4<br /><br />ROOT GraphQLResolverᐸQuery.deepObjectᐳ[7]"):::bucket
    Bucket2("Bucket 2 (nullableBoundary)<br />Deps: 13, 21, 2, 0, 4<br /><br />ROOT GraphQLResolver{1}ᐸDeepObject.friend:defaultFieldResolverᐳ[13]"):::bucket
    Bucket3("Bucket 3 (listItem)<br /><br />ROOT __Item{3}ᐸ11ᐳ[14]"):::bucket
    end
    Bucket0 --> Bucket1
    Bucket1 --> Bucket2 & Bucket3

    %% plan dependencies
    GraphQLResolver7[["GraphQLResolver[7∈0] ➊<br />ᐸQuery.deepObjectᐳ<br />More deps:<br />- __Value[4]<br />- Constantᐸ§{}ᐳ[21]<br />- __Value[2]<br />- __Value[0]<br />- __Value[4]"]]:::unbatchedplan
    __Value0["__Value[0∈0] ➊<br />ᐸvariableValuesᐳ<br />Dependents: 7"]:::plan
    __Value2["__Value[2∈0] ➊<br />ᐸcontextᐳ<br />Dependents: 7"]:::plan
    __Value4["__Value[4∈0] ➊<br />ᐸrootValueᐳ<br />Dependents: 8"]:::plan
    GraphQLResolver9[["GraphQLResolver[9∈1] ➊<br />ᐸDeepObject.number:defaultFieldResolverᐳ<br />More deps:<br />- Constantᐸ§{}ᐳ[21]<br />- __Value[2]<br />- __Value[0]<br />- __Value[4]"]]:::unbatchedplan
    GraphQLResolver7 --> GraphQLResolver9
    GraphQLResolver11[["GraphQLResolver[11∈1] ➊<br />ᐸDeepObject.numbers:defaultFieldResolverᐳ<br />More deps:<br />- Constantᐸ§{}ᐳ[21]<br />- __Value[2]<br />- __Value[0]<br />- __Value[4]"]]:::unbatchedplan
    GraphQLResolver7 --> GraphQLResolver11
    GraphQLResolver13[["GraphQLResolver[13∈1] ➊<br />ᐸDeepObject.friend:defaultFieldResolverᐳ<br />More deps:<br />- Constantᐸ§{}ᐳ[21]<br />- __Value[2]<br />- __Value[0]<br />- __Value[4]"]]:::unbatchedplan
    GraphQLResolver7 --> GraphQLResolver13
    GraphQLResolver16[["GraphQLResolver[16∈2] ➊<br />ᐸDeepObjectFriend.name:defaultFieldResolverᐳ<br />More deps:<br />- Constantᐸ§{}ᐳ[21]<br />- __Value[2]<br />- __Value[0]<br />- __Value[4]"]]:::unbatchedplan
    GraphQLResolver13 --> GraphQLResolver16
    GraphQLResolver18[["GraphQLResolver[18∈2] ➊<br />ᐸDeepObjectFriend.occupation:defaultFieldResolverᐳ<br />More deps:<br />- Constantᐸ§{}ᐳ[21]<br />- __Value[2]<br />- __Value[0]<br />- __Value[4]"]]:::unbatchedplan
    GraphQLResolver13 --> GraphQLResolver18
    GraphQLResolver20[["GraphQLResolver[20∈2] ➊<br />ᐸDeepObjectFriend.status:defaultFieldResolverᐳ<br />More deps:<br />- Constantᐸ§{}ᐳ[21]<br />- __Value[2]<br />- __Value[0]<br />- __Value[4]"]]:::unbatchedplan
    GraphQLResolver13 --> GraphQLResolver20
    __Item14[/"__Item[14∈3]<br />ᐸ11ᐳ"\]:::itemplan
    GraphQLResolver11 ==> __Item14

    %% define steps
    classDef bucket0 stroke:#696969
    class Bucket0,__Value0,__Value2,__Value4,GraphQLResolver7 bucket0
    classDef bucket1 stroke:#00bfff
    class Bucket1,GraphQLResolver9,GraphQLResolver11,GraphQLResolver13 bucket1
    classDef bucket2 stroke:#7f007f
    class Bucket2,GraphQLResolver16,GraphQLResolver18,GraphQLResolver20 bucket2
    classDef bucket3 stroke:#ffa500
    class Bucket3,__Item14 bucket3

